// 在这里我们对axios做一层封装
// 1. 添加统一的请求配置
// 2. 添加请求拦截器
// 3. 添加响应拦截器
import axios from 'axios'

const instance = axios.create({
    // 做统一的配置
    // 接口超时时间
    timeout: 5000,
    // 配置了通用的请求头
    headers: {
    //     // 'X-Custom-Header': 'foobar'
    //     // 'custom':'kfdsjflkasjdfklj'
        "Host":"music.taihe.com",
        "Origin":"music.taihe.com"
    },
    withCredentials: true
});


// 为实例添加请求拦截器和响应拦截器
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    //   1. 登录成功之后，后端可能会返回给我们一个token，在这里给所有的接口添加token参数
    //   2. 接口有缓存的话，在这里给接口添加时间戳
    console.log(config);
    // eslint-disable-next-line
    // debugger
    // config.headers.token = localStorage.getItem("token") || "token"
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    // 1. 通用的错误处理
    console.log(response);
    // eslint-disable-next-line
    // debugger
    if (response.status === 200) {
        return response.data;
    } else {
        return response
    }
}, function (error) {
    // 对响应错误做点什么
    // // eslint-disable-next-line
    // debugger
    // alert("接口报错："+error.message)
    return Promise.reject(error);
});


export default instance
